.splitpanes {
    display: flex;
    width: 100%;
    height: 100%;

    &--vertical {
        flex-direction: row;

        > .splitpanes__pane {
            transition: width .2s ease-out;
        }

        > .splitpanes__splitter {
            min-width: 1px;
            cursor: col-resize;
        }
    }

    &--horizontal {
        flex-direction: column;

        > .splitpanes__pane {
            transition: height .2s ease-out;
        }

        > .splitpanes__splitter {
            min-height: 1px;
            cursor: row-resize;
        }
    }

    &--dragging {
        *,
        .splitpanes__pane {
            user-select: none;
        }

        .splitpanes__pane {
            transition: none;
        }
    }

    &__pane {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    &__splitter {
        touch-action: none;
    }
}

.default-theme {
    .splitpanes {
        &__pane {
            //background-color: #f2f2f2;
        }

        &__splitter {
            background-color: #fff;
            box-sizing: border-box;
            position: relative;
            flex-shrink: 0;

            &:before,
            &:after {
                content: "";
                position: absolute;
                top: 50%;
                left: 50%;
                background-color: rgba(0, 0, 0, 0.15);
                transition: background-color .3s;
            }

            &:hover:before,
            &:hover:after {
                background-color: rgba(0, 0, 0, 0.25);
            }

            &:first-child {
                cursor: auto;
            }

            &.splitpanes__splitter {
                z-index: 1;
            }

            &.splitpanes--vertical,
            .splitpanes--vertical & {
                width: 7px;
                border-left: 1px solid #eee;
                margin-left: -1px;

                &:before,
                &:after {
                    transform: translateY(-50%);
                    width: 1px;
                    height: 30px;
                }

                &:before {
                    margin-left: -2px;
                }

                &:after {
                    margin-left: 1px;
                }
            }

            &.splitpanes--horizontal,
            .splitpanes--horizontal & {
                height: 7px;
                border-top: 1px solid #eee;
                margin-top: -1px;

                &:before,
                &:after {
                    transform: translate(-50%);
                    width: 30px;
                    height: 1px;
                }

                &:before {
                    margin-top: -2px;
                }

                &:after {
                    margin-top: 1px;
                }
            }
        }
    }
}